<?php


class ErrorController extends Zend_Controller_Action
{
	/**
	 * Das Zendframework ruft den Error-Controller auf (NICHT LOESCHEN!!)
	 *
	 */
	public function errorAction()
	{
		$this->_helper->viewRenderer->setNoRender();
		$this->getResponse()->setRawHeader('HTTP/1.1 404 Not Found');
		$errors = $this->_getParam('error_handler');
		switch ($errors->type) {
			case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
				$message = sprintf('<p>Der angefragte Controller <b>%s</b> konnte nicht gefunden werden.</p>', $errors->request->getControllerName());
				break;
			case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
				$message = sprintf('<p>Die angefragte Action <b>%s</b> konnte nicht gefunden werden.</p>', $errors->request->getActionName());
				break;
			default:
			case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_OTHER:
				$message = '<p>Ein unerwarteter Fehler trat in der Anfrage auf.</p>';
				$message .= $errors->exception->getMessage();
				$message .= $errors->exception->getTraceAsString();
				break;
		}
        // Ausnahme loggen:
        //$exception = $errors->exception;
        //$log = new Zend_Log(new Zend_Log_Writer_Stream('/tmp/applicationException.log'));
        //$log->debug($exception->getMessage() . "\n" .  $exception->getTraceAsString());
        //break;
		$this->getResponse()->clearBody(); // Vorherige Inhalte l�schen
		echo '<h1>Fehler</h1>'.$message;
	}

    public function accessdeniedAction()
	{
		$this->_helper->viewRenderer->setNoRender();
		echo "<h1>Fehler!</h1>";
		echo "<p>Sie haben keine Berechtigung f&uuml;r die aufgerufene Seite.</p>";
    }

}
